import java.util.HashMap;

public class Main {
    public static void main(String[] args) {
        System.out.println("Hello world!");
    }

//    public ListNode removeNthFromEnd(ListNode head, int n) {
//        //重新定义一个头节点：以便后面删除的节点是头结点
//        ListNode headT=new ListNode(0,head);
//        ListNode cur=headT;
//        int size=getLenght(head);
//        if(size==1)return null;
//        for(int i=1;i<size-n+1;i++){
//            cur=cur.next;
//        }
//        cur.next=cur.next.next;
//        return headT.next;
//    }
//
//    private int getLenght(ListNode head) {
//        ListNode cur=head;
//        int lenght=0;
//        while(head!=null){
//            lenght++;
//            head=head.next;
//        }
//            return lenght;
//    }
//    static class ListNode {
//      int val;
//      ListNode next;
//      ListNode() {}
//      ListNode(int val) { this.val = val; }
//      ListNode(int val, ListNode next) { this.val = val; this.next = next; }
//  }


    public ListNode deleteDuplicates(ListNode head) {
        if(head==null)return null;
        ListNode cur=head;
        HashMap<Integer,Integer> map=new HashMap<>();
        map.put(head.val,0);
        ListNode pre=cur;
        while(pre!=null){
            if(!map.containsKey(pre.val)){
                map.put(pre.val,1);
                cur.next=pre;
                cur=pre;
            }
            pre=pre.next;
        }
        cur.next=null;
        return head;
    }

      public class ListNode {
      int val;
      ListNode next;
      ListNode() {}
      ListNode(int val) { this.val = val; }
      ListNode(int val, ListNode next) { this.val = val; this.next = next; }
  }

}